home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d12
/
cgazv5n5.arc
/
LIST4.C
< prev
next >
Wrap
C/C++ Source or Header
|
1991-09-23
|
1KB
|
40 lines
/*---------------------------------------- Listing 4 ------
* Another demonstartion of SIGFPE signal.
* See Listing 1 for copyright terms.
*-------------------------------------------------------*/
#include <stdio.h>
#include <signal.h>
#include <float.h>
void FpeHandler ( int Signal, int SubCode );
void main ( void );
void FpeHandler ( int Signal, int SubCode )
{
_fpreset();
printf ( "Signal %d, SubCode %d was raised\n",
Signal, SubCode );
}
void main ( void )
{
void (*OldHandler) ( int Signal );
int i, j, k;
float Bill, Gates;
/*---------------------------------------------------------
* This is a dummy assignment to link in floating-point
* handler, which is prerequisite for SIGFPE signal
* installation in MSC!
*-------------------------------------------------------*/
Bill = Gates;
OldHandler = signal ( SIGFPE, FpeHandler );
if ( OldHandler == SIG_ERR )
printf ( "signal failed\n" );
j = i;
j -= i;
i /= j; /* This is where it goes wrong */
}